home *** CD-ROM | disk | FTP | other *** search
/ AI Game Programming Wisdom / AIGameProgrammingWisdom.iso / SourceCode / 11 Learning / 01 Manslow / GPExample / CGPMoveForwardNode.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-10  |  1.3 KB  |  63 lines

  1. //GPExample
  2. //Copyright John Manslow
  3. //29/09/2001
  4.  
  5. ////////////////////////////////////////////////////////////
  6. //Only when compiling under Windows
  7. #include "stdafx.h"
  8. #define new DEBUG_NEW
  9. ////////////////////////////////////////////////////////////
  10.  
  11. #include "math.h"
  12. #include "CGPMoveForwardNode.h"
  13. #include "CGPNode.h"
  14. #include "CGP.h"
  15. #include "assert.h"
  16.  
  17. extern void MoveForward(void);
  18.  
  19. extern CGPNode **pPrototypeList;
  20. extern unsigned long ulNumberOfPrototypes;
  21.  
  22. CGPMoveForwardNode MoveForwardPrototype;
  23.  
  24. CGPMoveForwardNode::CGPMoveForwardNode()
  25. {
  26.     nType=9;
  27.  
  28.     pChildren=NULL;
  29.     ulNumberOfChildren=0;
  30.  
  31.     sprintf(psName,"MoveForwardNode");
  32.     nIsPrototype=1-AddToPrototypeList();
  33.     dPrior=0.3;
  34. }
  35.  
  36. CGPMoveForwardNode::~CGPMoveForwardNode()
  37. {
  38. }
  39.  
  40. CGPNode *CGPMoveForwardNode::pGetCopy(CGP* pGP)
  41. {
  42.     CGPMoveForwardNode *pNewNode=new CGPMoveForwardNode;
  43.     assert(!(pNewNode==NULL));
  44.     return (CGPNode*)pNewNode;
  45. }
  46.  
  47. double CGPMoveForwardNode::dEvaluate(void)
  48. {
  49.     //This function moves (or rather tries to move) the agent forward one square. It returns zero
  50.     //regardless of whether the operation was successful or not
  51.     MoveForward();
  52.     return 0.0;
  53. }
  54.  
  55. char* CGPMoveForwardNode::psGetString(char*pString)
  56. {
  57.     if(pString!=NULL && strlen(pString)<10000)
  58.     {
  59.         sprintf(pString,"%s MoveForward()",pString);
  60.     }
  61.     return pString;
  62. }
  63.